home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 096 / prtrbbs.arc / PRTCLR.BAS next >
BASIC Source File  |  1985-08-19  |  2KB  |  31 lines

  1. 10 REM *** program to print the callers file ***
  2. 20 CLS:PRINT "RBBS-PC Callers File Printer":PRINT
  3. 30 LINE INPUT "Stop printing at what record number? ";LAST$
  4. 40 LAST=VAL(LAST$)
  5. 50 PAGE=1:LPP=66                                 '66 lines per page
  6. 60 ON ERROR GOTO 290:CLOSE
  7. 70 OPEN "R",1,"CALLERS",64:FIELD 1,64 AS R$
  8. 80 ON ERROR GOTO 0
  9. 90 RECORDS=LOF(1)/64
  10. 100 IF LAST>=RECORDS OR LAST<=0 THEN PRINT:PRINT"Bad record number...... Maximum record number is";RECORDS-1:PRINT:GOTO 30
  11. 110 PRINT:PRINT:LINE INPUT "Turn on the printer - Hit return when ready.......";A$
  12. 120 HOLD$=""
  13. 130 GOSUB 270
  14. 140 FOR I=RECORDS TO LAST STEP -1
  15. 150 IF LINES/(LPP-4)>1 THEN PAGE=PAGE+1:GOSUB 300:LINES=LINES+1 ELSE LINES=LINES+1
  16. 160 GET 1,I
  17. 170 IF HOLD$<>"" GOTO 200
  18. 180 IF ASC(LEFT$(R$,1))=0 OR ASC(LEFT$(R$,1))=32 THEN LPRINT R$:GOTO 240
  19. 190 HOLD$=R$:GOTO 240
  20. 200 HOLD$=HOLD$+R$
  21. 210 FOR K=77 TO 60 STEP -1:C=INSTR(K,HOLD$,", "):IF C>0 AND C<78 THEN 230 ELSE NEXT K
  22. 220 LINES=LINES+1:LPRINT:LPRINT HOLD$:HOLD$="":GOTO 240
  23. 230 LINES=LINES+1:LPRINT:LPRINT LEFT$(HOLD$,C-1):LPRINT "  ";LEFT$(RIGHT$(HOLD$,LEN(HOLD$)-C),37);TAB(40);RIGHT$(HOLD$,9):HOLD$="":GOTO 240
  24. 240 NEXT I
  25. 250 LF=-1:GOSUB 300:LINES=0:GOSUB 300
  26. 260 PRINT:PRINT"Program completed successfully!":END
  27. 270 LPRINT:LPRINT"RBBS-PC Callers File Contents at ";TIME$;" on ";DATE$;TAB(70);"Page";PAGE
  28. 280 LPRINT"  First record number is";RECORDS;"  Last record number is";LAST:LPRINT:LPRINT:LINES=5:RETURN
  29. 290 CLS:PRINT:PRINT"Callers file not found - Aborting Program......":PRINT:PRINT:END
  30. 300 FOR S=LINES+1 TO LPP:LPRINT:NEXT S:IF LF THEN RETURN ELSE GOSUB 270:RETURN
  31.